//
//  memmove.c
//  指针进阶三
//
//  Created by 马鹏朔 on 2022/10/26.
//

#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<stdlib.h>
 void *my_memmove(const void * dest,const void * src ,size_t num)
{
     void *ret=dest;
     if(dest<src)
     {
         while(num--)
         {
             *(char*)dest=*(char*)src;
             dest++;
             src++;
         }
     }
     else
     {
         while(num--)
         {
             *((char*)dest+num)=*((char*)src+num);
         }
     }
     return ret;
 }
int main()
{
    int arr1[]={1,2,3,4,5,6,7,8,9,10};
    int arr2[20]={0};
    my_memmove(arr1,arr1+2,20);
    for(int i=0;i<sizeof(arr1)/sizeof(arr1[0]);i++)
    {
        printf("%d ",arr1[i]);
    }

}
